Pilot data Parse bio 4 iPSC lines NPCs, 3 batches
Load libraries
library(Seurat)
The legacy packages maptools, rgdal, and rgeos, underpinning this package
will retire shortly. Please refer to R-spatial evolution reports on
https://r-spatial.org/r/2023/05/15/evolution4.html for details.
This package is now running under evolution status 0
Registered S3 method overwritten by 'data.table':
method from
print.data.table
Registered S3 method overwritten by 'htmlwidgets':
method from
print.htmlwidget tools:rstudio
Attaching SeuratObject
Warning message:
R graphics engine version 15 is not supported by this version of RStudio. The Plots tab will be disabled until a newer version of RStudio is installed.
library(tidyverse)
Registered S3 methods overwritten by 'dbplyr':
method from
print.tbl_lazy
print.tbl_sql
── Attaching packages ───────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.2 ✔ purrr 1.0.1
✔ tibble 3.2.1 ✔ dplyr 1.1.2
✔ tidyr 1.3.0 ✔ stringr 1.5.0
✔ readr 2.1.3 ✔ forcats 0.5.2
── Conflicts ──────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
seu
An object of class Seurat
58395 features across 23769 samples within 1 assay
Active assay: RNA (58395 features, 2500 variable features)
2 dimensional reductions calculated: pca, umap
Idents(seu) <- 'sample'
VlnPlot(seu, pt.size = 0.001, features = c("nFeature_RNA"))
VlnPlot(seu, pt.size = 0.001, features = "nCount_RNA")
VlnPlot(seu, pt.size = 0.001, features = "percent.mt")
Add in labels for batch and disease status and line
#library("CelltypeR")
# CelltypeR library is a library I (Rhalena) made for flow cytometry but uses the seurat object and I made a quick add annotations function.
Seurat_Parse12sample <- seu
# here is the function
annotate <- function(seu, annotations, to_label, annotation_name = "CellType"){
Idents(seu) <- to_label
names(annotations) <- levels(seu)
seu <- RenameIdents(seu, annotations)
seu <- AddMetaData(object=seu, metadata=Idents(seu), col.name = annotation_name)
}
Idents(Seurat_Parse12sample) <- "sample"
sample.levels <- levels(Seurat_Parse12sample)
# should give the order of sample
# test
Seurat_Parse12sample <- annotate(Seurat_Parse12sample, annotations = sample.levels, to_label = "sample",annotation_name = "sample.test")
table(Seurat_Parse12sample$sample.test)
x2965B3 x2965B1 TD07B3 x3448B1 x3448B2 TD22B3 TD07B2 x3448B3 x2965B2
1918 2353 1690 2400 2194 2894 2124 1530 1686
TD07B1 TD22B2 TD22B1
1496 2186 1298
table(Seurat_Parse12sample$sample)
TD07B1 TD07B2 TD07B3 TD22B1 TD22B2 TD22B3 x2965B1 x2965B2 x2965B3
1496 2124 1690 1298 2186 2894 2353 1686 1918
x3448B1 x3448B2 x3448B3
2400 2194 1530
# these match
#input vector we got from the seurat object
# Define regular expression to match first part of the string
pattern <- "^[A-Za-z]+"
# Use gsub() to replace the first part of the string with an empty string
sample.levels.new <- gsub(pattern, "", sample.levels)
# Extract B1, B2, B3 from new vector
batch <- gsub(".*B", "B", sample.levels.new)
Seurat_Parse12sample <- annotate(Seurat_Parse12sample, annotations = batch, to_label = "sample",annotation_name = "Batch")
table(Seurat_Parse12sample$Batch)
B3 B1 B2
8032 7547 8190
table(Seurat_Parse12sample$Batch,Seurat_Parse12sample$sample)
TD07B1 TD07B2 TD07B3 TD22B1 TD22B2 TD22B3 x2965B1 x2965B2 x2965B3
B3 0 0 1690 0 0 2894 0 0 1918
B1 1496 0 0 1298 0 0 2353 0 0
B2 0 2124 0 0 2186 0 0 1686 0
x3448B1 x3448B2 x3448B3
B3 0 0 1530
B1 2400 0 0
B2 0 2194 0
# add the cell line name
# sample vector is still the input vector
# Define regular expression to remove B1, B2, and B3
pattern <- "B[1-3]$"
# Use gsub() to remove B1, B2, and B3 from original vector
sample.levels.new <- gsub(pattern, "", sample.levels)
# Extract starting values from new vector
ipscline <- gsub("B[1-3]$", "", sample.levels.new)
ipscline
[1] "x2965" "x2965" "TD07" "x3448" "x3448" "TD22" "TD07" "x3448" "x2965"
[10] "TD07" "TD22" "TD22"
Seurat_Parse12sample <- annotate(Seurat_Parse12sample, annotations = ipscline, to_label = "sample",annotation_name = "IPSC_Line")
table(Seurat_Parse12sample$IPSC_Line)
x2965 TD07 x3448 TD22
5957 5310 6124 6378
table(Seurat_Parse12sample$IPSC_Line,Seurat_Parse12sample$sample)
TD07B1 TD07B2 TD07B3 TD22B1 TD22B2 TD22B3 x2965B1 x2965B2 x2965B3
x2965 0 0 0 0 0 0 2353 1686 1918
TD07 1496 2124 1690 0 0 0 0 0 0
x3448 0 0 0 0 0 0 0 0 0
TD22 0 0 0 1298 2186 2894 0 0 0
x3448B1 x3448B2 x3448B3
x2965 0 0 0
TD07 0 0 0
x3448 2400 2194 1530
TD22 0 0 0
# add disease status
# we need to know the order of the lines
Idents(Seurat_Parse12sample) <- "IPSC_Line"
line.levels <- levels(Seurat_Parse12sample)
line.levels
[1] "x2965" "TD07" "x3448" "TD22"
PDstatus <- c("PD","PD","Con","Con") # if TD07 and 2965 are PD lines and TD22 and 3448 are control lines
Seurat_Parse12sample <- annotate(Seurat_Parse12sample, annotations = PDstatus, to_label = "IPSC_Line",annotation_name = "DiseaseStatus")
table(Seurat_Parse12sample$DiseaseStatus)
PD Con
11267 12502
table(Seurat_Parse12sample$DiseaseStatus,Seurat_Parse12sample$IPSC_Line)
x2965 TD07 x3448 TD22
PD 5957 5310 0 0
Con 0 0 6124 6378
table(Seurat_Parse12sample$Batch,Seurat_Parse12sample$IPSC_Line)
x2965 TD07 x3448 TD22
B3 1918 1690 1530 2894
B1 2353 1496 2400 1298
B2 1686 2124 2194 2186
Save info
saveRDS(Seurat_Parse12sample, "Parse12sample4lines3batchJuly7.RDS")
Align the cell lines and batches, we will align across the 12 samples
# make a list of seurat objects by our cell type variable
sublist <- SplitObject(seu, split.by = "sample")
# normalize and find variable features
for (i in 1:length(sublist)){
sublist[[i]] <- NormalizeData(sublist[[i]], verbose = FALSE)
sublist[[i]] <- FindVariableFeatures(sublist[[i]], selection.method = "vst")
}
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
# Create an empty Seurat object to store the integrated data
# Take the first Seurat object from the list as the starting point
integrated_seurat <- subset(sublist[[1]])
# Iterate over the list of Seurat objects
for (i in 1:length(sublist)) {
# Rename the 'orig.ident' metadata inside the seurat object to match the object name in the list
sublist[[i]]$orig.ident <- names(sublist)[i]
}
sample.list <- sublist
for (i in 1:length(sample.list)) {
# Normalize and scale the data
sample.list[[i]] <- NormalizeData(sample.list[[i]], verbose = FALSE)
sample.list[[i]] <- ScaleData(sample.list[[i]], verbose = FALSE)
# Find variable features
sample.list[[i]] <- FindVariableFeatures(sample.list[[i]], selection.method = "vst")
# Get the variable features
variable_features <- VariableFeatures(sample.list[[i]])
# Run PCA with the variable features
sample.list[[i]] <- RunPCA(sample.list[[i]], verbose = FALSE, npcs = 30, features = variable_features)
}
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
int.anchors <- FindIntegrationAnchors(object.list = sample.list, dims = 1:30, reduction = "rpca")
Computing 2000 integration features
Scaling features for provided objects
| | 0 % ~calculating
|+++++ | 8 % ~05s
|+++++++++ | 17% ~04s
|+++++++++++++ | 25% ~03s
|+++++++++++++++++ | 33% ~03s
|+++++++++++++++++++++ | 42% ~02s
|+++++++++++++++++++++++++ | 50% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04s
Computing within dataset neighborhoods
| | 0 % ~calculating
|+++++ | 8 % ~07s
|+++++++++ | 17% ~06s
|+++++++++++++ | 25% ~05s
|+++++++++++++++++ | 33% ~04s
|+++++++++++++++++++++ | 42% ~04s
|+++++++++++++++++++++++++ | 50% ~03s
|++++++++++++++++++++++++++++++ | 58% ~03s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=06s
Finding all pairwise anchors
| | 0 % ~calculating
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 2868 anchors
|+ | 2 % ~03m 20s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 545 anchors
|++ | 3 % ~03m 01s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 533 anchors
|+++ | 5 % ~02m 54s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 558 anchors
|++++ | 6 % ~02m 53s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 549 anchors
|++++ | 8 % ~02m 56s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 424 anchors
|+++++ | 9 % ~02m 50s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 467 anchors
|++++++ | 11% ~02m 46s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 427 anchors
|+++++++ | 12% ~02m 45s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 340 anchors
|+++++++ | 14% ~02m 41s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 573 anchors
|++++++++ | 15% ~02m 38s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 915 anchors
|+++++++++ | 17% ~02m 38s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 912 anchors
|++++++++++ | 18% ~02m 37s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 519 anchors
|++++++++++ | 20% ~02m 34s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 766 anchors
|+++++++++++ | 21% ~02m 33s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 738 anchors
|++++++++++++ | 23% ~02m 31s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 531 anchors
|+++++++++++++ | 24% ~02m 27s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 505 anchors
|+++++++++++++ | 26% ~02m 24s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 464 anchors
|++++++++++++++ | 27% ~02m 20s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 518 anchors
|+++++++++++++++ | 29% ~02m 17s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 782 anchors
|++++++++++++++++ | 30% ~02m 14s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 892 anchors
|++++++++++++++++ | 32% ~02m 12s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 549 anchors
|+++++++++++++++++ | 33% ~02m 09s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 493 anchors
|++++++++++++++++++ | 35% ~02m 05s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 432 anchors
|+++++++++++++++++++ | 36% ~02m 01s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 2894 anchors
|+++++++++++++++++++ | 38% ~01m 58s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 569 anchors
|++++++++++++++++++++ | 39% ~01m 55s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 713 anchors
|+++++++++++++++++++++ | 41% ~01m 52s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 494 anchors
|++++++++++++++++++++++ | 42% ~01m 49s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 798 anchors
|++++++++++++++++++++++ | 44% ~01m 46s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 724 anchors
|+++++++++++++++++++++++ | 45% ~01m 43s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 398 anchors
|++++++++++++++++++++++++ | 47% ~01m 39s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 456 anchors
|+++++++++++++++++++++++++ | 48% ~01m 37s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 415 anchors
|+++++++++++++++++++++++++ | 50% ~01m 34s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 931 anchors
|++++++++++++++++++++++++++ | 52% ~01m 31s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 570 anchors
|+++++++++++++++++++++++++++ | 53% ~01m 28s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 419 anchors
|++++++++++++++++++++++++++++ | 55% ~01m 25s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 553 anchors
|+++++++++++++++++++++++++++++ | 56% ~01m 22s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 573 anchors
|+++++++++++++++++++++++++++++ | 58% ~01m 19s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 2037 anchors
|++++++++++++++++++++++++++++++ | 59% ~01m 16s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 409 anchors
|+++++++++++++++++++++++++++++++ | 61% ~01m 13s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 413 anchors
|++++++++++++++++++++++++++++++++ | 62% ~01m 10s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 566 anchors
|++++++++++++++++++++++++++++++++ | 64% ~01m 07s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 472 anchors
|+++++++++++++++++++++++++++++++++ | 65% ~01m 04s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 401 anchors
|++++++++++++++++++++++++++++++++++ | 67% ~01m 01s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 365 anchors
|+++++++++++++++++++++++++++++++++++ | 68% ~58s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 847 anchors
|+++++++++++++++++++++++++++++++++++ | 70% ~56s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 835 anchors
|++++++++++++++++++++++++++++++++++++ | 71% ~53s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 475 anchors
|+++++++++++++++++++++++++++++++++++++ | 73% ~50s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 772 anchors
|++++++++++++++++++++++++++++++++++++++ | 74% ~47s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 740 anchors
|++++++++++++++++++++++++++++++++++++++ | 76% ~45s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 3274 anchors
|+++++++++++++++++++++++++++++++++++++++ | 77% ~42s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 796 anchors
|++++++++++++++++++++++++++++++++++++++++ | 79% ~39s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 717 anchors
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~37s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 811 anchors
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~34s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 529 anchors
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~31s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 1402 anchors
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~28s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 1446 anchors
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~25s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 530 anchors
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~22s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 582 anchors
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~19s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 443 anchors
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~17s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 1047 anchors
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~14s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 405 anchors
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~11s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 483 anchors
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~08s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 595 anchors
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~06s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 570 anchors
|++++++++++++++++++++++++++++++++++++++++++++++++++| 98% ~03s
Projecting new data onto SVD
Projecting new data onto SVD
Finding neighborhoods
Finding anchors
Found 1021 anchors
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=03m 01s
integrated_seurat <- IntegrateData(anchorset = int.anchors, dims = 1:30)
Merging dataset 8 into 4
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 11 into 6
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 1 into 2
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 10 into 3
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 12 into 2 1
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 9 into 6 11
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 2 1 12 into 6 11 9
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 7 into 5
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 3 10 into 4 8
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 4 8 3 10 into 6 11 9 2 1 12
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 5 7 into 6 11 9 2 1 12 4 8 3 10
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
#
# must set the k weight to the lowest cell count
# in the parse sample we have over 1530 cells in the smallest count so we don't have to change the k from the 100 default
Now we need to run the workflow on the integrated object
DefaultAssay(integrated_seurat) <- "integrated"
integrated_seurat <- ScaleData(integrated_seurat, verbose = FALSE)
# only the integrated features will be the pca input
integrated_seurat <- RunPCA(integrated_seurat, npcs = 20, verbose = FALSE)
integrated_seurat <- RunUMAP(integrated_seurat, reduction = "pca", dims = 1:20, n.neighbors = 81)
Have a look at the new UMAP
DimPlot(integrated_seurat, group.by = 'sample')
DimPlot(integrated_seurat, group.by = 'Batch')
DimPlot(integrated_seurat, group.by = 'DiseaseStatus')
DimPlot(integrated_seurat, group.by = 'IPSC_Line')
NA
NA
NA
# saveRDS(integrated_seurat, "Integrated12samples.RDS")
# setwd("~/Documents/Data/scRNAseq/ParseExample/Experiment1-mini12")
intergrated_seurat <- readRDS("/Users/rhalenathomas/Documents/Data/scRNAseq/ParseExample/Experiment1-mini12/Integrated12samples.RDS")
Find new clusters
integrated_seurat <- FindClusters(integrated_seurat, resolution = c(0,0.3,0.6,1) )
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 23769
Number of edges: 3304295
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 1.0000
Number of communities: 1
Elapsed time: 16 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 23769
Number of edges: 3304295
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9097
Number of communities: 10
Elapsed time: 20 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 23769
Number of edges: 3304295
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8752
Number of communities: 16
Elapsed time: 23 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 23769
Number of edges: 3304295
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8382
Number of communities: 20
Elapsed time: 20 seconds
integrated_seurat <- intergrated_seurat
DimPlot(integrated_seurat, group.by = "integrated_snn_res.0.3")
DimPlot(integrated_seurat, group.by = "integrated_snn_res.0.6")
Annotate clusters res 0.3
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
ClusterMarkers <- FindAllMarkers(integrated_seurat, only.pos = TRUE)
Calculating cluster 0
| | 0 % ~calculating
|+ | 2 % ~18s
|++ | 3 % ~17s
|+++ | 5 % ~16s
|++++ | 6 % ~16s
|++++ | 8 % ~15s
|+++++ | 9 % ~15s
|++++++ | 11% ~15s
|+++++++ | 12% ~15s
|+++++++ | 14% ~14s
|++++++++ | 15% ~14s
|+++++++++ | 17% ~14s
|++++++++++ | 18% ~13s
|++++++++++ | 20% ~13s
|+++++++++++ | 22% ~13s
|++++++++++++ | 23% ~13s
|+++++++++++++ | 25% ~12s
|++++++++++++++ | 26% ~12s
|++++++++++++++ | 28% ~12s
|+++++++++++++++ | 29% ~12s
|++++++++++++++++ | 31% ~11s
|+++++++++++++++++ | 32% ~11s
|+++++++++++++++++ | 34% ~11s
|++++++++++++++++++ | 35% ~11s
|+++++++++++++++++++ | 37% ~10s
|++++++++++++++++++++ | 38% ~10s
|++++++++++++++++++++ | 40% ~10s
|+++++++++++++++++++++ | 42% ~10s
|++++++++++++++++++++++ | 43% ~09s
|+++++++++++++++++++++++ | 45% ~09s
|++++++++++++++++++++++++ | 46% ~09s
|++++++++++++++++++++++++ | 48% ~08s
|+++++++++++++++++++++++++ | 49% ~08s
|++++++++++++++++++++++++++ | 51% ~08s
|+++++++++++++++++++++++++++ | 52% ~08s
|+++++++++++++++++++++++++++ | 54% ~07s
|++++++++++++++++++++++++++++ | 55% ~07s
|+++++++++++++++++++++++++++++ | 57% ~07s
|++++++++++++++++++++++++++++++ | 58% ~07s
|++++++++++++++++++++++++++++++ | 60% ~06s
|+++++++++++++++++++++++++++++++ | 62% ~06s
|++++++++++++++++++++++++++++++++ | 63% ~06s
|+++++++++++++++++++++++++++++++++ | 65% ~06s
|++++++++++++++++++++++++++++++++++ | 66% ~05s
|++++++++++++++++++++++++++++++++++ | 68% ~05s
|+++++++++++++++++++++++++++++++++++ | 69% ~05s
|++++++++++++++++++++++++++++++++++++ | 71% ~05s
|+++++++++++++++++++++++++++++++++++++ | 72% ~04s
|+++++++++++++++++++++++++++++++++++++ | 74% ~04s
|++++++++++++++++++++++++++++++++++++++ | 75% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~03s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~03s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=16s
Calculating cluster 1
| | 0 % ~calculating
|++ | 3 % ~06s
|+++ | 5 % ~05s
|++++ | 8 % ~10s
|++++++ | 11% ~08s
|+++++++ | 13% ~07s
|++++++++ | 16% ~06s
|++++++++++ | 18% ~06s
|+++++++++++ | 21% ~05s
|++++++++++++ | 24% ~05s
|++++++++++++++ | 26% ~05s
|+++++++++++++++ | 29% ~04s
|++++++++++++++++ | 32% ~04s
|++++++++++++++++++ | 34% ~04s
|+++++++++++++++++++ | 37% ~04s
|++++++++++++++++++++ | 39% ~03s
|++++++++++++++++++++++ | 42% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|+++++++++++++++++++++++++ | 50% ~03s
|+++++++++++++++++++++++++++ | 53% ~03s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 58% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|+++++++++++++++++++++++++++++++++ | 66% ~02s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=05s
Calculating cluster 2
| | 0 % ~calculating
|+ | 1 % ~36s
|++ | 2 % ~34s
|++ | 4 % ~33s
|+++ | 5 % ~32s
|++++ | 6 % ~32s
|++++ | 7 % ~31s
|+++++ | 8 % ~30s
|+++++ | 10% ~30s
|++++++ | 11% ~30s
|+++++++ | 12% ~29s
|+++++++ | 13% ~29s
|++++++++ | 14% ~28s
|++++++++ | 16% ~28s
|+++++++++ | 17% ~28s
|++++++++++ | 18% ~27s
|++++++++++ | 19% ~27s
|+++++++++++ | 20% ~26s
|+++++++++++ | 22% ~26s
|++++++++++++ | 23% ~25s
|+++++++++++++ | 24% ~25s
|+++++++++++++ | 25% ~24s
|++++++++++++++ | 27% ~24s
|++++++++++++++ | 28% ~24s
|+++++++++++++++ | 29% ~23s
|++++++++++++++++ | 30% ~23s
|++++++++++++++++ | 31% ~22s
|+++++++++++++++++ | 33% ~22s
|+++++++++++++++++ | 34% ~22s
|++++++++++++++++++ | 35% ~21s
|+++++++++++++++++++ | 36% ~21s
|+++++++++++++++++++ | 37% ~21s
|++++++++++++++++++++ | 39% ~21s
|++++++++++++++++++++ | 40% ~20s
|+++++++++++++++++++++ | 41% ~20s
|++++++++++++++++++++++ | 42% ~19s
|++++++++++++++++++++++ | 43% ~19s
|+++++++++++++++++++++++ | 45% ~18s
|+++++++++++++++++++++++ | 46% ~18s
|++++++++++++++++++++++++ | 47% ~18s
|+++++++++++++++++++++++++ | 48% ~17s
|+++++++++++++++++++++++++ | 49% ~17s
|++++++++++++++++++++++++++ | 51% ~16s
|++++++++++++++++++++++++++ | 52% ~16s
|+++++++++++++++++++++++++++ | 53% ~16s
|++++++++++++++++++++++++++++ | 54% ~15s
|++++++++++++++++++++++++++++ | 55% ~15s
|+++++++++++++++++++++++++++++ | 57% ~14s
|+++++++++++++++++++++++++++++ | 58% ~14s
|++++++++++++++++++++++++++++++ | 59% ~13s
|+++++++++++++++++++++++++++++++ | 60% ~13s
|+++++++++++++++++++++++++++++++ | 61% ~13s
|++++++++++++++++++++++++++++++++ | 63% ~12s
|++++++++++++++++++++++++++++++++ | 64% ~12s
|+++++++++++++++++++++++++++++++++ | 65% ~11s
|++++++++++++++++++++++++++++++++++ | 66% ~11s
|++++++++++++++++++++++++++++++++++ | 67% ~11s
|+++++++++++++++++++++++++++++++++++ | 69% ~10s
|+++++++++++++++++++++++++++++++++++ | 70% ~10s
|++++++++++++++++++++++++++++++++++++ | 71% ~09s
|+++++++++++++++++++++++++++++++++++++ | 72% ~09s
|+++++++++++++++++++++++++++++++++++++ | 73% ~09s
|++++++++++++++++++++++++++++++++++++++ | 75% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=32s
Calculating cluster 3
| | 0 % ~calculating
|+ | 1 % ~01m 09s
|++ | 2 % ~01m 08s
|++ | 3 % ~01m 07s
|+++ | 4 % ~01m 07s
|+++ | 5 % ~01m 06s
|++++ | 6 % ~01m 05s
|++++ | 7 % ~01m 05s
|+++++ | 8 % ~01m 04s
|+++++ | 9 % ~01m 03s
|++++++ | 10% ~01m 02s
|++++++ | 11% ~01m 02s
|+++++++ | 12% ~01m 01s
|+++++++ | 13% ~01m 00s
|++++++++ | 14% ~59s
|++++++++ | 15% ~59s
|+++++++++ | 16% ~58s
|+++++++++ | 18% ~57s
|++++++++++ | 19% ~57s
|++++++++++ | 20% ~56s
|+++++++++++ | 21% ~56s
|+++++++++++ | 22% ~55s
|++++++++++++ | 23% ~54s
|++++++++++++ | 24% ~53s
|+++++++++++++ | 25% ~53s
|+++++++++++++ | 26% ~52s
|++++++++++++++ | 27% ~51s
|++++++++++++++ | 28% ~51s
|+++++++++++++++ | 29% ~50s
|+++++++++++++++ | 30% ~49s
|++++++++++++++++ | 31% ~49s
|++++++++++++++++ | 32% ~48s
|+++++++++++++++++ | 33% ~47s
|++++++++++++++++++ | 34% ~46s
|++++++++++++++++++ | 35% ~46s
|+++++++++++++++++++ | 36% ~45s
|+++++++++++++++++++ | 37% ~44s
|++++++++++++++++++++ | 38% ~43s
|++++++++++++++++++++ | 39% ~43s
|+++++++++++++++++++++ | 40% ~42s
|+++++++++++++++++++++ | 41% ~41s
|++++++++++++++++++++++ | 42% ~40s
|++++++++++++++++++++++ | 43% ~40s
|+++++++++++++++++++++++ | 44% ~39s
|+++++++++++++++++++++++ | 45% ~38s
|++++++++++++++++++++++++ | 46% ~38s
|++++++++++++++++++++++++ | 47% ~37s
|+++++++++++++++++++++++++ | 48% ~36s
|+++++++++++++++++++++++++ | 49% ~35s
|++++++++++++++++++++++++++ | 51% ~35s
|++++++++++++++++++++++++++ | 52% ~34s
|+++++++++++++++++++++++++++ | 53% ~33s
|+++++++++++++++++++++++++++ | 54% ~32s
|++++++++++++++++++++++++++++ | 55% ~32s
|++++++++++++++++++++++++++++ | 56% ~31s
|+++++++++++++++++++++++++++++ | 57% ~30s
|+++++++++++++++++++++++++++++ | 58% ~30s
|++++++++++++++++++++++++++++++ | 59% ~29s
|++++++++++++++++++++++++++++++ | 60% ~28s
|+++++++++++++++++++++++++++++++ | 61% ~27s
|+++++++++++++++++++++++++++++++ | 62% ~27s
|++++++++++++++++++++++++++++++++ | 63% ~26s
|++++++++++++++++++++++++++++++++ | 64% ~25s
|+++++++++++++++++++++++++++++++++ | 65% ~25s
|+++++++++++++++++++++++++++++++++ | 66% ~24s
|++++++++++++++++++++++++++++++++++ | 67% ~23s
|+++++++++++++++++++++++++++++++++++ | 68% ~22s
|+++++++++++++++++++++++++++++++++++ | 69% ~22s
|++++++++++++++++++++++++++++++++++++ | 70% ~21s
|++++++++++++++++++++++++++++++++++++ | 71% ~20s
|+++++++++++++++++++++++++++++++++++++ | 72% ~19s
|+++++++++++++++++++++++++++++++++++++ | 73% ~19s
|++++++++++++++++++++++++++++++++++++++ | 74% ~18s
|++++++++++++++++++++++++++++++++++++++ | 75% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~16s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~15s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~14s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~14s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~13s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~12s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~12s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01m 09s
Calculating cluster 4
| | 0 % ~calculating
|+ | 1 % ~16s
|++ | 3 % ~16s
|+++ | 4 % ~16s
|+++ | 6 % ~16s
|++++ | 7 % ~15s
|+++++ | 9 % ~15s
|++++++ | 10% ~15s
|++++++ | 12% ~15s
|+++++++ | 13% ~14s
|++++++++ | 15% ~14s
|+++++++++ | 16% ~14s
|+++++++++ | 18% ~14s
|++++++++++ | 19% ~14s
|+++++++++++ | 21% ~13s
|++++++++++++ | 22% ~13s
|++++++++++++ | 24% ~13s
|+++++++++++++ | 25% ~12s
|++++++++++++++ | 27% ~12s
|+++++++++++++++ | 28% ~12s
|+++++++++++++++ | 30% ~12s
|++++++++++++++++ | 31% ~11s
|+++++++++++++++++ | 33% ~11s
|++++++++++++++++++ | 34% ~11s
|++++++++++++++++++ | 36% ~11s
|+++++++++++++++++++ | 37% ~10s
|++++++++++++++++++++ | 39% ~10s
|+++++++++++++++++++++ | 40% ~10s
|+++++++++++++++++++++ | 42% ~10s
|++++++++++++++++++++++ | 43% ~09s
|+++++++++++++++++++++++ | 45% ~09s
|++++++++++++++++++++++++ | 46% ~09s
|++++++++++++++++++++++++ | 48% ~09s
|+++++++++++++++++++++++++ | 49% ~08s
|++++++++++++++++++++++++++ | 51% ~08s
|+++++++++++++++++++++++++++ | 52% ~08s
|+++++++++++++++++++++++++++ | 54% ~08s
|++++++++++++++++++++++++++++ | 55% ~07s
|+++++++++++++++++++++++++++++ | 57% ~07s
|++++++++++++++++++++++++++++++ | 58% ~07s
|++++++++++++++++++++++++++++++ | 60% ~07s
|+++++++++++++++++++++++++++++++ | 61% ~06s
|++++++++++++++++++++++++++++++++ | 63% ~06s
|+++++++++++++++++++++++++++++++++ | 64% ~06s
|+++++++++++++++++++++++++++++++++ | 66% ~06s
|++++++++++++++++++++++++++++++++++ | 67% ~05s
|+++++++++++++++++++++++++++++++++++ | 69% ~05s
|++++++++++++++++++++++++++++++++++++ | 70% ~05s
|++++++++++++++++++++++++++++++++++++ | 72% ~05s
|+++++++++++++++++++++++++++++++++++++ | 73% ~04s
|++++++++++++++++++++++++++++++++++++++ | 75% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~04s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~04s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~03s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~03s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~03s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=17s
Calculating cluster 5
| | 0 % ~calculating
|+ | 1 % ~32s
|++ | 2 % ~32s
|++ | 4 % ~31s
|+++ | 5 % ~31s
|++++ | 6 % ~30s
|++++ | 7 % ~30s
|+++++ | 8 % ~29s
|+++++ | 10% ~29s
|++++++ | 11% ~29s
|+++++++ | 12% ~28s
|+++++++ | 13% ~28s
|++++++++ | 14% ~27s
|++++++++ | 16% ~27s
|+++++++++ | 17% ~27s
|++++++++++ | 18% ~26s
|++++++++++ | 19% ~26s
|+++++++++++ | 20% ~25s
|+++++++++++ | 22% ~25s
|++++++++++++ | 23% ~25s
|+++++++++++++ | 24% ~24s
|+++++++++++++ | 25% ~24s
|++++++++++++++ | 27% ~23s
|++++++++++++++ | 28% ~23s
|+++++++++++++++ | 29% ~23s
|++++++++++++++++ | 30% ~22s
|++++++++++++++++ | 31% ~22s
|+++++++++++++++++ | 33% ~22s
|+++++++++++++++++ | 34% ~21s
|++++++++++++++++++ | 35% ~21s
|+++++++++++++++++++ | 36% ~20s
|+++++++++++++++++++ | 37% ~20s
|++++++++++++++++++++ | 39% ~20s
|++++++++++++++++++++ | 40% ~19s
|+++++++++++++++++++++ | 41% ~19s
|++++++++++++++++++++++ | 42% ~18s
|++++++++++++++++++++++ | 43% ~18s
|+++++++++++++++++++++++ | 45% ~18s
|+++++++++++++++++++++++ | 46% ~17s
|++++++++++++++++++++++++ | 47% ~17s
|+++++++++++++++++++++++++ | 48% ~17s
|+++++++++++++++++++++++++ | 49% ~16s
|++++++++++++++++++++++++++ | 51% ~16s
|++++++++++++++++++++++++++ | 52% ~15s
|+++++++++++++++++++++++++++ | 53% ~15s
|++++++++++++++++++++++++++++ | 54% ~15s
|++++++++++++++++++++++++++++ | 55% ~14s
|+++++++++++++++++++++++++++++ | 57% ~14s
|+++++++++++++++++++++++++++++ | 58% ~13s
|++++++++++++++++++++++++++++++ | 59% ~13s
|+++++++++++++++++++++++++++++++ | 60% ~13s
|+++++++++++++++++++++++++++++++ | 61% ~12s
|++++++++++++++++++++++++++++++++ | 63% ~12s
|++++++++++++++++++++++++++++++++ | 64% ~12s
|+++++++++++++++++++++++++++++++++ | 65% ~11s
|++++++++++++++++++++++++++++++++++ | 66% ~11s
|++++++++++++++++++++++++++++++++++ | 67% ~10s
|+++++++++++++++++++++++++++++++++++ | 69% ~10s
|+++++++++++++++++++++++++++++++++++ | 70% ~10s
|++++++++++++++++++++++++++++++++++++ | 71% ~09s
|+++++++++++++++++++++++++++++++++++++ | 72% ~09s
|+++++++++++++++++++++++++++++++++++++ | 73% ~08s
|++++++++++++++++++++++++++++++++++++++ | 75% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=32s
Calculating cluster 6
| | 0 % ~calculating
|+ | 1 % ~37s
|++ | 2 % ~36s
|++ | 3 % ~35s
|+++ | 4 % ~35s
|+++ | 5 % ~34s
|++++ | 6 % ~34s
|++++ | 7 % ~33s
|+++++ | 9 % ~33s
|+++++ | 10% ~33s
|++++++ | 11% ~32s
|++++++ | 12% ~32s
|+++++++ | 13% ~31s
|+++++++ | 14% ~31s
|++++++++ | 15% ~31s
|++++++++ | 16% ~30s
|+++++++++ | 17% ~30s
|++++++++++ | 18% ~29s
|++++++++++ | 19% ~29s
|+++++++++++ | 20% ~29s
|+++++++++++ | 21% ~28s
|++++++++++++ | 22% ~28s
|++++++++++++ | 23% ~27s
|+++++++++++++ | 24% ~27s
|+++++++++++++ | 26% ~27s
|++++++++++++++ | 27% ~26s
|++++++++++++++ | 28% ~26s
|+++++++++++++++ | 29% ~26s
|+++++++++++++++ | 30% ~25s
|++++++++++++++++ | 31% ~25s
|++++++++++++++++ | 32% ~24s
|+++++++++++++++++ | 33% ~24s
|++++++++++++++++++ | 34% ~24s
|++++++++++++++++++ | 35% ~23s
|+++++++++++++++++++ | 36% ~23s
|+++++++++++++++++++ | 37% ~23s
|++++++++++++++++++++ | 38% ~22s
|++++++++++++++++++++ | 39% ~22s
|+++++++++++++++++++++ | 40% ~21s
|+++++++++++++++++++++ | 41% ~21s
|++++++++++++++++++++++ | 43% ~21s
|++++++++++++++++++++++ | 44% ~20s
|+++++++++++++++++++++++ | 45% ~20s
|+++++++++++++++++++++++ | 46% ~19s
|++++++++++++++++++++++++ | 47% ~19s
|++++++++++++++++++++++++ | 48% ~19s
|+++++++++++++++++++++++++ | 49% ~18s
|+++++++++++++++++++++++++ | 50% ~18s
|++++++++++++++++++++++++++ | 51% ~18s
|+++++++++++++++++++++++++++ | 52% ~17s
|+++++++++++++++++++++++++++ | 53% ~17s
|++++++++++++++++++++++++++++ | 54% ~16s
|++++++++++++++++++++++++++++ | 55% ~16s
|+++++++++++++++++++++++++++++ | 56% ~16s
|+++++++++++++++++++++++++++++ | 57% ~15s
|++++++++++++++++++++++++++++++ | 59% ~15s
|++++++++++++++++++++++++++++++ | 60% ~15s
|+++++++++++++++++++++++++++++++ | 61% ~14s
|+++++++++++++++++++++++++++++++ | 62% ~14s
|++++++++++++++++++++++++++++++++ | 63% ~13s
|++++++++++++++++++++++++++++++++ | 64% ~13s
|+++++++++++++++++++++++++++++++++ | 65% ~13s
|+++++++++++++++++++++++++++++++++ | 66% ~12s
|++++++++++++++++++++++++++++++++++ | 67% ~12s
|+++++++++++++++++++++++++++++++++++ | 68% ~11s
|+++++++++++++++++++++++++++++++++++ | 69% ~11s
|++++++++++++++++++++++++++++++++++++ | 70% ~11s
|++++++++++++++++++++++++++++++++++++ | 71% ~10s
|+++++++++++++++++++++++++++++++++++++ | 72% ~10s
|+++++++++++++++++++++++++++++++++++++ | 73% ~10s
|++++++++++++++++++++++++++++++++++++++ | 74% ~09s
|++++++++++++++++++++++++++++++++++++++ | 76% ~09s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~08s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~08s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~07s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=36s
Calculating cluster 7
| | 0 % ~calculating
|+ | 1 % ~59s
|++ | 2 % ~58s
|++ | 4 % ~57s
|+++ | 5 % ~56s
|+++ | 6 % ~56s
|++++ | 7 % ~55s
|+++++ | 8 % ~54s
|+++++ | 9 % ~53s
|++++++ | 11% ~52s
|++++++ | 12% ~52s
|+++++++ | 13% ~51s
|++++++++ | 14% ~50s
|++++++++ | 15% ~50s
|+++++++++ | 16% ~49s
|+++++++++ | 18% ~48s
|++++++++++ | 19% ~48s
|++++++++++ | 20% ~47s
|+++++++++++ | 21% ~46s
|++++++++++++ | 22% ~46s
|++++++++++++ | 24% ~45s
|+++++++++++++ | 25% ~44s
|+++++++++++++ | 26% ~43s
|++++++++++++++ | 27% ~43s
|+++++++++++++++ | 28% ~42s
|+++++++++++++++ | 29% ~41s
|++++++++++++++++ | 31% ~41s
|++++++++++++++++ | 32% ~40s
|+++++++++++++++++ | 33% ~39s
|++++++++++++++++++ | 34% ~39s
|++++++++++++++++++ | 35% ~38s
|+++++++++++++++++++ | 36% ~37s
|+++++++++++++++++++ | 38% ~37s
|++++++++++++++++++++ | 39% ~36s
|++++++++++++++++++++ | 40% ~35s
|+++++++++++++++++++++ | 41% ~35s
|++++++++++++++++++++++ | 42% ~34s
|++++++++++++++++++++++ | 44% ~33s
|+++++++++++++++++++++++ | 45% ~33s
|+++++++++++++++++++++++ | 46% ~32s
|++++++++++++++++++++++++ | 47% ~31s
|+++++++++++++++++++++++++ | 48% ~31s
|+++++++++++++++++++++++++ | 49% ~30s
|++++++++++++++++++++++++++ | 51% ~29s
|++++++++++++++++++++++++++ | 52% ~28s
|+++++++++++++++++++++++++++ | 53% ~28s
|++++++++++++++++++++++++++++ | 54% ~27s
|++++++++++++++++++++++++++++ | 55% ~26s
|+++++++++++++++++++++++++++++ | 56% ~26s
|+++++++++++++++++++++++++++++ | 58% ~25s
|++++++++++++++++++++++++++++++ | 59% ~24s
|++++++++++++++++++++++++++++++ | 60% ~24s
|+++++++++++++++++++++++++++++++ | 61% ~23s
|++++++++++++++++++++++++++++++++ | 62% ~22s
|++++++++++++++++++++++++++++++++ | 64% ~21s
|+++++++++++++++++++++++++++++++++ | 65% ~21s
|+++++++++++++++++++++++++++++++++ | 66% ~20s
|++++++++++++++++++++++++++++++++++ | 67% ~19s
|+++++++++++++++++++++++++++++++++++ | 68% ~19s
|+++++++++++++++++++++++++++++++++++ | 69% ~18s
|++++++++++++++++++++++++++++++++++++ | 71% ~17s
|++++++++++++++++++++++++++++++++++++ | 72% ~17s
|+++++++++++++++++++++++++++++++++++++ | 73% ~16s
|++++++++++++++++++++++++++++++++++++++ | 74% ~15s
|++++++++++++++++++++++++++++++++++++++ | 75% ~15s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~13s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~12s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~12s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~11s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~10s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~09s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=59s
Calculating cluster 8
| | 0 % ~calculating
|+ | 1 % ~01m 02s
|++ | 2 % ~59s
|++ | 4 % ~57s
|+++ | 5 % ~56s
|++++ | 6 % ~55s
|++++ | 7 % ~55s
|+++++ | 9 % ~54s
|+++++ | 10% ~53s
|++++++ | 11% ~53s
|+++++++ | 12% ~52s
|+++++++ | 13% ~51s
|++++++++ | 15% ~50s
|++++++++ | 16% ~50s
|+++++++++ | 17% ~49s
|++++++++++ | 18% ~48s
|++++++++++ | 20% ~47s
|+++++++++++ | 21% ~46s
|+++++++++++ | 22% ~46s
|++++++++++++ | 23% ~45s
|+++++++++++++ | 24% ~44s
|+++++++++++++ | 26% ~44s
|++++++++++++++ | 27% ~43s
|+++++++++++++++ | 28% ~42s
|+++++++++++++++ | 29% ~41s
|++++++++++++++++ | 30% ~41s
|++++++++++++++++ | 32% ~40s
|+++++++++++++++++ | 33% ~39s
|++++++++++++++++++ | 34% ~38s
|++++++++++++++++++ | 35% ~38s
|+++++++++++++++++++ | 37% ~37s
|+++++++++++++++++++ | 38% ~36s
|++++++++++++++++++++ | 39% ~35s
|+++++++++++++++++++++ | 40% ~35s
|+++++++++++++++++++++ | 41% ~34s
|++++++++++++++++++++++ | 43% ~33s
|++++++++++++++++++++++ | 44% ~33s
|+++++++++++++++++++++++ | 45% ~32s
|++++++++++++++++++++++++ | 46% ~31s
|++++++++++++++++++++++++ | 48% ~31s
|+++++++++++++++++++++++++ | 49% ~30s
|+++++++++++++++++++++++++ | 50% ~29s
|++++++++++++++++++++++++++ | 51% ~28s
|+++++++++++++++++++++++++++ | 52% ~28s
|+++++++++++++++++++++++++++ | 54% ~27s
|++++++++++++++++++++++++++++ | 55% ~26s
|+++++++++++++++++++++++++++++ | 56% ~25s
|+++++++++++++++++++++++++++++ | 57% ~25s
|++++++++++++++++++++++++++++++ | 59% ~24s
|++++++++++++++++++++++++++++++ | 60% ~23s
|+++++++++++++++++++++++++++++++ | 61% ~23s
|++++++++++++++++++++++++++++++++ | 62% ~22s
|++++++++++++++++++++++++++++++++ | 63% ~21s
|+++++++++++++++++++++++++++++++++ | 65% ~20s
|+++++++++++++++++++++++++++++++++ | 66% ~20s
|++++++++++++++++++++++++++++++++++ | 67% ~19s
|+++++++++++++++++++++++++++++++++++ | 68% ~18s
|+++++++++++++++++++++++++++++++++++ | 70% ~18s
|++++++++++++++++++++++++++++++++++++ | 71% ~17s
|++++++++++++++++++++++++++++++++++++ | 72% ~16s
|+++++++++++++++++++++++++++++++++++++ | 73% ~15s
|++++++++++++++++++++++++++++++++++++++ | 74% ~15s
|++++++++++++++++++++++++++++++++++++++ | 76% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~13s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~13s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~12s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~11s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~10s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~09s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=57s
Calculating cluster 9
| | 0 % ~calculating
|+ | 1 % ~33s
|++ | 2 % ~32s
|++ | 3 % ~31s
|+++ | 5 % ~31s
|+++ | 6 % ~30s
|++++ | 7 % ~30s
|+++++ | 8 % ~29s
|+++++ | 9 % ~29s
|++++++ | 10% ~28s
|++++++ | 12% ~28s
|+++++++ | 13% ~28s
|+++++++ | 14% ~27s
|++++++++ | 15% ~27s
|+++++++++ | 16% ~27s
|+++++++++ | 17% ~26s
|++++++++++ | 19% ~26s
|++++++++++ | 20% ~25s
|+++++++++++ | 21% ~25s
|++++++++++++ | 22% ~25s
|++++++++++++ | 23% ~24s
|+++++++++++++ | 24% ~24s
|+++++++++++++ | 26% ~24s
|++++++++++++++ | 27% ~23s
|++++++++++++++ | 28% ~23s
|+++++++++++++++ | 29% ~23s
|++++++++++++++++ | 30% ~22s
|++++++++++++++++ | 31% ~22s
|+++++++++++++++++ | 33% ~22s
|+++++++++++++++++ | 34% ~21s
|++++++++++++++++++ | 35% ~21s
|+++++++++++++++++++ | 36% ~20s
|+++++++++++++++++++ | 37% ~20s
|++++++++++++++++++++ | 38% ~20s
|++++++++++++++++++++ | 40% ~19s
|+++++++++++++++++++++ | 41% ~19s
|+++++++++++++++++++++ | 42% ~19s
|++++++++++++++++++++++ | 43% ~18s
|+++++++++++++++++++++++ | 44% ~18s
|+++++++++++++++++++++++ | 45% ~17s
|++++++++++++++++++++++++ | 47% ~17s
|++++++++++++++++++++++++ | 48% ~17s
|+++++++++++++++++++++++++ | 49% ~16s
|+++++++++++++++++++++++++ | 50% ~16s
|++++++++++++++++++++++++++ | 51% ~16s
|+++++++++++++++++++++++++++ | 52% ~15s
|+++++++++++++++++++++++++++ | 53% ~15s
|++++++++++++++++++++++++++++ | 55% ~14s
|++++++++++++++++++++++++++++ | 56% ~14s
|+++++++++++++++++++++++++++++ | 57% ~14s
|++++++++++++++++++++++++++++++ | 58% ~13s
|++++++++++++++++++++++++++++++ | 59% ~13s
|+++++++++++++++++++++++++++++++ | 60% ~13s
|+++++++++++++++++++++++++++++++ | 62% ~12s
|++++++++++++++++++++++++++++++++ | 63% ~12s
|++++++++++++++++++++++++++++++++ | 64% ~11s
|+++++++++++++++++++++++++++++++++ | 65% ~11s
|++++++++++++++++++++++++++++++++++ | 66% ~11s
|++++++++++++++++++++++++++++++++++ | 67% ~10s
|+++++++++++++++++++++++++++++++++++ | 69% ~10s
|+++++++++++++++++++++++++++++++++++ | 70% ~10s
|++++++++++++++++++++++++++++++++++++ | 71% ~09s
|+++++++++++++++++++++++++++++++++++++ | 72% ~09s
|+++++++++++++++++++++++++++++++++++++ | 73% ~09s
|++++++++++++++++++++++++++++++++++++++ | 74% ~08s
|++++++++++++++++++++++++++++++++++++++ | 76% ~08s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~07s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~07s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~07s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~06s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~06s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~05s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~04s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=32s
library(enrichR)
setEnrichrSite("Enrichr") # Human genes
# list of all the databases
# get the possible libraries
dbs <- listEnrichrDbs()
# this will list the possible libraries
dbs
# select libraries with cell types
db <- c('CellMarker_Augmented_2021','Azimuth_Cell_Types_2021')
# function for a quick look
checkCelltypes <- function(cluster_num = 0){
clusterX <- ClusterMarkers %>% filter(cluster == cluster_num & avg_log2FC > 0.25)
genes <- clusterX$gene
# the cell type libraries
# get the results for each library
clusterX.cell <- enrichr(genes, databases = db)
# visualize the results
print(plotEnrich(clusterX.cell[[1]], showTerms = 20, numChar = 40, y = "Count", orderBy = "P.value", title = 'CellMarker_Augmented_2021'))
print(plotEnrich(clusterX.cell[[2]], showTerms = 20, numChar = 40, y = "Count", orderBy = "P.value", title = 'Azimuth_Cell_Types_2021'))
}
Check each cluster quickly
checkCelltypes(cluster_num = 9)
Uploading data to Enrichr... Done.
Querying CellMarker_Augmented_2021... Done.
Querying Azimuth_Cell_Types_2021... Done.
Parsing results... Done.
Look at some expression lists
da_neurons <- c("TH","SLC6A3","SLC18A2","SOX6","NDNF","SNCG","ALDH1A1","CALB1","TACR2","SLC17A6","SLC32A1","OTX2","GRP","LPL","CCK","VIP")
NPC_orStemLike <- c("DCX","NEUROD1","TBR1","PCNA","MKI67","SOX2","NES","PAX6","MASH1")
mature_neurons = c("RBFOX3","SYP","DLG45","VAMP1","VAMP2","TUBB3","SYT1","BSN","HOMER1","SLC17A6")
excitatory_neurons = c("GRIA2","GRIA1","GRIA4","GRIN1","GRIN2B","GRIN2A","GRIN3A","GRIN3","GRIP1","CAMK2A")
inhbitory_neurons = inh = c("GAD1","GAD2", "GAT1","PVALB","GABR2","GABR1","GBRR1","GABRB2","GABRB1","GABRB3","GABRA6","GABRA1","GABRA4","TRAK2")
astrocytes <- c("GFAP","S100B","AQP4","APOE", "SOX9","SLC1A3")
oligodendrocytes <- c("MBP","MOG","OLIG1","OLIG2","SOX10")
opc <-
radial_glia <- c("PTPRC","AIF1","ADGRE1", "VIM", "TNC","PTPRZ1","FAM107A","HOPX","LIFR",
"ITGB5","IL6ST","SLC1A3")
epithelial <- c("HES1","HES5","SOX2","SOX10","NES","CDH1","NOTCH1")
microglia <- c("IBA1","P2RY12","P2RY13","TREM119", "GPR34","SIGLECH","TREM2",
"CX3CR1","FCRLS","OLFML3","HEXB","TGFBR1", "SALL1","MERTK",
"PROS1")
features_list <- c("MKI67","SOX2","POU5F1","DLX2","PAX6","SOX9","HES1","NES","RBFOX3","MAP2","NCAM1","CD24","GRIA2","GRIN2B","GABBR1","GAD1","GAD2","GABRA1","GABRB2","TH","ALDH1A1","LMX1B","NR4A2","CORIN","CALB1","KCNJ6","CXCR4","ITGA6","SLC1A3","CD44","AQP4","S100B", "PDGFRA","OLIG2","MBP","CLDN11","VIM","VCAM1")
short_list <- c("MKI67","SOX9","HES1","NES","DLX2","RBFOX3","MAP2","TH","CALB1","KCNJ6","SLC1A3","CD44","AQP4","S100B","OLIG2","MBP","VIM")
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in da_neurons) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find TH in the default search locations, found in RNA assay instead
Warning: Could not find SLC6A3 in the default search locations, found in RNA assay instead
Warning: Could not find SLC18A2 in the default search locations, found in RNA assay instead
Warning: Could not find SNCG in the default search locations, found in RNA assay instead
Warning: Could not find ALDH1A1 in the default search locations, found in RNA assay instead
Warning: Could not find TACR2 in the default search locations, found in RNA assay instead
Warning: Could not find SLC32A1 in the default search locations, found in RNA assay instead
Warning: Could not find OTX2 in the default search locations, found in RNA assay instead
Warning: Could not find GRP in the default search locations, found in RNA assay instead
Warning: Could not find CCK in the default search locations, found in RNA assay instead
Warning: Could not find VIP in the default search locations, found in RNA assay instead
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in NPC_orStemLike) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find PCNA in the default search locations, found in RNA assay instead
Warning: Could not find SOX2 in the default search locations, found in RNA assay instead
Warning: Could not find NES in the default search locations, found in RNA assay instead
Warning in FetchData.Seurat(object = object, vars = c(dims, "ident", features), :
The following requested variables were not found: MASH1
Error: None of the requested features were found: MASH1 in slot data
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in astrocytes) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find GFAP in the default search locations, found in RNA assay instead
Warning: Could not find S100B in the default search locations, found in RNA assay instead
Warning: Could not find AQP4 in the default search locations, found in RNA assay instead
Warning: Could not find APOE in the default search locations, found in RNA assay instead
Warning: Could not find SOX9 in the default search locations, found in RNA assay instead
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in radial_glia) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find PTPRC in the default search locations, found in RNA assay instead
Warning: Could not find AIF1 in the default search locations, found in RNA assay instead
Warning: Could not find ADGRE1 in the default search locations, found in RNA assay instead
Warning: Could not find VIM in the default search locations, found in RNA assay instead
Warning: Could not find PTPRZ1 in the default search locations, found in RNA assay instead
Warning: Could not find FAM107A in the default search locations, found in RNA assay instead
Warning: Could not find HOPX in the default search locations, found in RNA assay instead
Warning: Could not find ITGB5 in the default search locations, found in RNA assay instead
Warning: Could not find IL6ST in the default search locations, found in RNA assay instead
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in mature_neurons) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find SYP in the default search locations, found in RNA assay instead
Warning in FetchData.Seurat(object = object, vars = c(dims, "ident", features), :
The following requested variables were not found: DLG45
Error: None of the requested features were found: DLG45 in slot data
Idents(integrated_seurat) <- "integrated_snn_res.0.3"
for (i in excitatory_neurons) {
print(FeaturePlot(integrated_seurat, features = i, min.cutoff = 'q1', max.cutoff = 'q97', label = TRUE))
}
Warning: Could not find GRIN1 in the default search locations, found in RNA assay instead
Warning in FetchData.Seurat(object = object, vars = c(dims, "ident", features), :
The following requested variables were not found: GRIN3
Error: None of the requested features were found: GRIN3 in slot data
Add annotations - first pass NPC-stem NPC-glia NPC-SOX6 Neurons-Glut Progenitors-div NPC-SOX2-OXT-fibro Neural-Stem stem cell Neuron-GABA Neuron-epithelial
celltypes2 <- c("NPC","NPC","NPC","Neurons","Progenitors",
"NPC","NPC","Stem","Neurons","Epithelial")
integrated_seurat <- annotate(integrated_seurat, annotations = celltypes2, to_label = "integrated_snn_res.0.3",annotation_name = "Celltypes2")
DimPlot(integrated_seurat, label = TRUE)
DimPlot(integrated_seurat, split.by = "DiseaseStatus")
DimPlot(integrated_seurat, split.by = "DiseaseStatus", group.by = "Celltypes1")
NA
NA
celltypes3 <- c("NPC","NPC","NPC","Neurons","NPC-div",
"Neuro-NPC","Neural-Stem","Stem","Neurons","Neural-epi")
integrated_seurat <- annotate(integrated_seurat, annotations = celltypes3, to_label = "integrated_snn_res.0.3",annotation_name = "Celltypes3")
DimPlot(integrated_seurat, label = TRUE)
DEG in cell types 3 groups
Idents(integrated_seurat) <- "Celltypes3"
seu_sub <- subset(integrated_seurat, idents = "Neurons")
seu_sub <- ScaleData(seu_sub)
Centering and scaling data matrix
|
| | 0%
|
|================================== | 50%
|
|====================================================================| 100%
seu_sub <- NormalizeData(seu_sub)
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Error: Cannot add a different number of cells than already present